home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / tcp_ip / tnos / tnos100s / merge.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-06  |  714 b   |  56 lines

  1. #include <stdio.h>
  2.  
  3. FILE *
  4. fopennew (fname, mode)
  5. char *fname, *mode;
  6. {
  7. char newname[256];
  8.  
  9.     sprintf (newname, "%s.new", fname);
  10.     return (fopen (newname, mode));
  11. }
  12.  
  13.  
  14. void
  15. merge (fname)
  16. char *fname;
  17. {
  18. FILE *fp, *fpnew;
  19. char buf[128], name[128];
  20.  
  21.     sprintf (name, "%s.new", fname);
  22.     if ((fpnew = fopen(name, "rt")) == (FILE *)NULL)
  23.         return;
  24.     if ((fp = fopen(fname, "r+t")) == (FILE *)NULL)        {
  25.         fclose (fpnew);
  26.         return;
  27.     }
  28.     fseek (fp, 0, 2);
  29.     while (fgets (buf, 128, fpnew))        {
  30.         pwait (NULL);
  31.         fputs (buf, fp);
  32.     }
  33.     fclose (fp);
  34.     fclose (fpnew);
  35.     remove (name);
  36. }
  37.  
  38.  
  39.  
  40. #ifdef DEMO
  41.  
  42. int
  43. pwait (i)
  44. int i;
  45. {
  46. }
  47.  
  48.  
  49. void
  50. main ()
  51. {
  52.     merge ("/nos/src/test1");
  53. }
  54.  
  55. #endif
  56.